﻿using System;
using System.Collections.Generic;
using System.Text;

namespace RaisingStudio.Data.Entities
{
    public partial class _IssueA : RaisingStudio.Data.Expressions.TableExpression
    {
        #region Constructor (s) / Destructor
        /// <summary>
        /// Constructor (s) / Destructor.
        /// </summary>
        public _IssueA() : base("IssueA")
        {
        }
        #endregion
        #region Members
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _IssueID = "IssueID";
        public readonly RaisingStudio.Data.Expressions.ColumnExpression IssueID = _IssueID;
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Title = "Title";
        public readonly RaisingStudio.Data.Expressions.ColumnExpression Title = _Title;
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Description = "Description";
        public readonly RaisingStudio.Data.Expressions.ColumnExpression Description = _Description;
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Status = "Status";
        public readonly RaisingStudio.Data.Expressions.ColumnExpression Status = _Status;
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _IssueType = "IssueType";
        public readonly RaisingStudio.Data.Expressions.ColumnExpression IssueType = _IssueType;
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Owner = "Owner";
        public readonly RaisingStudio.Data.Expressions.ColumnExpression Owner = _Owner;
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Progress = "Progress";
        public readonly RaisingStudio.Data.Expressions.ColumnExpression Progress = _Progress;
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _CreateTime = "CreateTime";
        public readonly RaisingStudio.Data.Expressions.ColumnExpression CreateTime = _CreateTime;
        public static readonly RaisingStudio.Data.Expressions.ColumnExpression _Locked = "Locked";
        public readonly RaisingStudio.Data.Expressions.ColumnExpression Locked = _Locked;

		#endregion
    }

    partial class IssueA
    {
        #region Members
        public static readonly _IssueA _ = new _IssueA();

        public static RaisingStudio.Data.Expressions.ConditionExpression All
        {
            get
            {
                return new RaisingStudio.Data.Expressions.ConditionExpression();
            }
        }

        public static RaisingStudio.Data.Expressions.ColumnExpression[] Columns
        {
            get
            {
                return new RaisingStudio.Data.Expressions.ColumnExpression[]
                        {
                            _IssueA._IssueID,
                            _IssueA._Title,
                            _IssueA._Description,
                            _IssueA._Status,
                            _IssueA._IssueType,
                            _IssueA._Owner,
                            _IssueA._Progress,
                            _IssueA._CreateTime,
                            _IssueA._Locked,
                        };
            }
        }

        public static RaisingStudio.Data.Expressions.ColumnExpression[] Except(params RaisingStudio.Data.Expressions.ColumnExpression[] columns)
        {
            List<RaisingStudio.Data.Expressions.ColumnExpression> columnList = new List<RaisingStudio.Data.Expressions.ColumnExpression>(Columns);
            if ((columns != null) && (columns.Length > 0))
            {
                foreach (RaisingStudio.Data.Expressions.ColumnExpression column in columns)
                {
                    columnList.Remove(column);
                }
            }
            return columnList.ToArray();
        }
		#endregion
    }
}
